Charakteristika nástroje DOORS 4.0
Uživatelské požadavky jsou velmi choulostivou oblastí vývoje systému. Specifikace systému vytvořená na jejich základě je závazný dokument. Ne vždy však jsou definovány dostatečně jednoznačně. Požadavky jsou soustředěny do textových souborů. Často jsou obaleny mnoha výrazovými prostředky, přičemž vlastní požadavek je zamlžen. Jsou uloženy v rozsáhlých blocích textu, ve kterých se lze obtížně orientovat a uživatelské požadavky jsou špatně viditelné. V praxi se často stává, že zadavatel zanese do dokumentu nereálné požadavky.
Na základě takto vytvořené specifikace se mohou uživatelské požadavky interpretovat více způsoby, některé mohou být zcela přehlédnuty. Konfrontace pohledů zadavatele a řešitele, dodatečné začlenění dalších požadavků do vývoje systému v pozdějších etapách vývoje samozřejmě přináší dodatečné náklady a brzdí vývoj systému.
S přihlédnutím ke zmíněným aspektům se vyplatí řešit tento problém již v etapě tvorby specifikace systému. Je nutné transformovat uživatelské požadavky tak, aby byly zcela jednoznačné, přehledné a pokud možno strukturované. Řešitel, který transformuje uživatelské požadavky ve strukturovanou specifikaci, rozhodne také o smysluplnosti a reálnosti daných požadavků. Na základě takto definovaných požadavků je možné provést konfrontaci pohledů zadavatele a řešitele již v prvotních etapách vývoje systému. Každému nalezenému požadavku nebo jeho části lze přiřadit množinu atributů, která požadavek popisuje a přiřazuje mu kvantitativní a kvalitativní rozměry. Mezi jednotlivými požadavky lze vytvářet vazby, každé vazbě lze opět přiřazovat atributy. Analýzou atributů a vazeb lze získat další informace, které nejsou zřejmé přímo z požadavků. Jedná se především o souslednost řešení požadavků, nákladnost řešení či odhad délky vývoje systému apod.
Nástroj DOORS anglické společnosti Quality Systems & Software (QSS) je určen pro evidenci a analýzu požadavků. S jeho pomocí je možné eliminovat výše zmíněné problémy. Vstupem tohoto nástroje je textový dokument s uživatelem definovanými požadavky na systém. Jedním z hlavních výstupů může být strukturovaná, jednoznačná, kompletní a provázaná specifikace požadavků na systém.
Popišme si postup vytváření specifikace požadavků na systém.
- Zadavatel nám předal textový dokument s popsanými požadavky. Dokument má 70 stran textu a 12 obrázků.
- V nástroji DOORS vytvoříme nový projekt, definujeme práva uživatelů, kteří mají přístup k projektu a založíme tzv. deskriptivní modul, do něhož uložíme zadavatelův text přesně tak, jak byl dodán.
-
Při analýze textu označujeme v deskriptivním modulu jednotlivé nalezené požadavky. Rozlišujeme požadavky na systém, procesní požadavky apod.
-
Pro každý typ požadavků založíme tzv. formální modul. Požadavky označené v deskriptivním modulu extrahujeme do struktury příslušných formálních modulů. Vlastní deskriptivní modul se tím nijak nemění a je stále totožný s původním dokumentem zadavatele.
-
Ve formálních modulech upravujeme strukturu požadavků a každému požadavku přiřazujeme jeho kvalitativní a kvantitativní atributy. Mezi jednotlivými požadavky vytváříme vazby (pomocí tzv. vazebních modulů) a vazbám přiřazujeme atributy. K příslušným požadavkům můžeme přidat vysvětlující zadavatelovy obrázky.
-
Výsledkem je formalizovaná struktura požadavků. Je krátká a přehledná. Zadavatel sleduje shodu struktury požadavků s původním dokumentem. Dojde-li zadavatel a řešitel k oboustranné shodě, stává se struktura požadavků specifikací požadavků na systém, tedy závazným dokumentem.
Základním rysem deskriptivního modulu je jeho neměnnost v průběhu práce s ním. Díky tomu je možné sledovat, zda extrahované požadavky odpovídají původnímu dokumentu. Každému extrahovanému požadavku se přiřazuje autor a datum extrakce. Tak je možné sledovat intenzitu a kvalitu práce.
Formální modul umožňuje jak textovou tak grafickou prezentaci struktury požadavků. V textové prezentaci je struktura vyjádřena číslováním jednotlivých požadavků, v grafické prezentaci je struktura prezentována stromem požadavků, ve kterém je možné se pohybovat. Zobrazit lze v obou typech prezentací buď celou strukturu požadavků nebo pouze strukturu po určitou úroveň (zobrazení po úroveň 3 znamená, že se zobrazí požadavek 1, 1.1, 1.1.1, ale ne požadavek 1.1.1.1). Nad strukturou požadavků lze aplikovat třídící mechanismy (jednoduché i složité). Rozsah zobrazených požadavků lze determinovat filtračními mechanismy s různou úrovní složitosti.
Vedle vlastního požadavku lze zobrazit také jeho atributy. Uživatel vytváří tzv. View, tedy různé pohledy na strukturu požadavků, přičemž každý pohled má definováno, které atributy mají být zobrazeny.
Každému požadavku se zaznamenává jeho historie. Jakákoliv změna (byť jen přidání písmene) se uchová. Tak je možné sledovat, kdo a kdy provedl změny. Během práce se barevně odlišují změněné požadavky. Celou strukturu požadavků je možné verzovat (vytváří se major i minor verze).
Mezi požadavky se mohou vytvářet vazby. K tomu slouží vazební modul, který vypadá jako dvojrozměrná matice. Každá vazba má své vlastní atributy. Vazby je možné dále analyzovat. Každý požadavek lze zkoumat z hlediska vstupních a výstupních vazeb do uživatelem zadané úrovně. Tak lze nacházet souvislosti a souslednosti mezi požadavky.
Nástroj DOORS disponuje způsobem, jak vytvářet dokumenty požadavků, které jsou normovány. Formálnímu modulu lze přiřadit šablonu a požadavky lze zpracovávat v rámci této šablony. Standardně se s nástrojem dodávají šablony DoD-STD-2176a, ESA PSS-05 a SADT. Je však velmi jednoduché, vytvořit si šablony vlastní.
Zdařile je vyřešen import textu do formálního modulu. Vedle podpory standardních formátů (Word, RTF, MS Project, apod.) je součástí rovněž konfigurovatelný parser, pomocí něhož je možné definovat strukturu importovaného textu a přenést tak importovaný text beze ztráty formátovacích informací. Totéž platí pro import dat z tabulkového kalkulátoru. Exportovat obsah formálního modulu je možné do standardních textových formátů, ale také do HTML.
Nástroj podporuje OLE, takže je možné do požadavků vkládat objekty dalších aplikací, které rovněž OLE podporují.
DOORS disponuje vlastním jazykem, který se jmenuje DXL (DOORS Extended Language). Díky tomuto jazyku je možné upravit nástroj veškerým potřebám projektu. DXL je jazyk podobný jazyku C, ale je jednodušší. Díky DXL je možné integrovat DOORS s ostatními nástroji, které jsou využívány v projektu a sdílet tak informace. Již hotová je integrace s CASE nástrojem COOL:Jex společnosti Sterling Software. Tak je možné vytvořit v DOORS modul, který obsahuje informace o modelovaných diagramech a sledovat požadavky a jejich řešení, popř. shodu vývoje projektu s jeho plánem.
Nástroj DOORS, ačkoliv je určen pro evidenci a analýzu požadavků, je velice univerzální. Kreativní uživatel po zaučení s tímto nástrojem najde mnoho dalších možností jeho využití. Namátkou jmenujme třeba využití pro helpdesk nebo vytvoření kusovníku.
Petr Kopřiva, kopriva@komix.cz
|